#include <iostream>
using namespace std;
int main()
{
    // 1、这种声明不仅引入了类型名 Direction，还向全局命名空间引入了四个枚举项（East South West 和 North）的名字
    // enum Direction
    // {
    //     East,
    //     South,
    //     West,
    //     North
    // };
    // 2、enum 关键字后加上 class 或者 struct，这个枚举便成为了带有作用域的枚举类型。当枚举类型带有作用域时
    enum class Direction
    {
        East,
        South,
        West,
        North
    };
    Direction d{Direction::East};
    d = Direction::North;
    // d = North; // 编译错误：North 未定义
}
